[ 템플릿 코드 ]
#include <string>
#include <vector>
using namespace std;
string solution(string s, int n) {
string answer = "";
return answer;
}[ 풀이 ]
#include <string>
using namespace std;
string solution(string s, int n)
{
for(int i = 0; i < s.size(); i++)
{
if(s[i] == ' ')
continue;
if(s[i] >= 'A' && s[i] <= 'Z')
{
s[i] = 'A' + (s[i] - 'A' + n) % 26;
}
else if(s[i] >= 'a' && s[i] <= 'z')
{
s[i] = 'a' + (s[i] - 'a' + n) % 26;
}
}
return s;
}[ 해설 ]
#include <string>
using namespace std;
string solution(string s, int n)
{
// 문자열의 모든 문자 확인
for(int i = 0; i < s.size(); i++)
{
// 공백은 암호화하지 않음
if(s[i] == ' ')
continue;
// 현재 문자가 대문자라면
if(s[i] >= 'A' && s[i] <= 'Z')
{
// A를 기준으로 위치를 구한 뒤
// n만큼 이동하고
// %26으로 알파벳 범위를 순환시킴
s[i] = 'A' + (s[i] - 'A' + n) % 26;
}
// 현재 문자가 소문자라면
else if(s[i] >= 'a' && s[i] <= 'z')
{
// a를 기준으로 위치를 구한 뒤
// n만큼 이동하고
// %26으로 알파벳 범위를 순환시킴
s[i] = 'a' + (s[i] - 'a' + n) % 26;
}
}
// 암호화된 문자열 반환
return s;
}[ 타 답안 ]